<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      const promise = new Promise((resolve, rejected) => {
        // throw new Error('test')
        resolve('22')
      })
      // promise内部错误：throw new Error('test')
      //  then的第二个参数和catch都可以捕获到错误（只在其中一个里面捕获）， 同时存在时只是优先第二个参数
      //   promise
      //     .then(
      //       (res) => {
      //         //
      //       },
      //       (err) => {
      //         console.log('err', err)
      //       }
      //     )
      //     .catch((err1) => {
      //       console.log('err1', err1)
      //     })

      //promise内部正常 then里面的错误：
      // 只有catch才可以捕获到then里面的错误，第二个参数捕获不到
      promise
        .then(
          (res) => {
            throw new Error('hello')
          },
          (err) => {
            console.log('err', err)
          }
        )
        .catch((err1) => {
          console.log('err1', err1)
        })
    </script>
  </body>
</html>
